/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upn.sigeadmi.cxc.beans;

import edu.upn.sigeadmi.cxc.bc.LetraPendientePagoDelegate;
import edu.upn.sigeadmi.cxc.be.CuentaPendientePago;
import edu.upn.sigeadmi.cxc.be.EstadoLetra;
import edu.upn.sigeadmi.cxc.be.LetraPendientePago;
import java.util.List;
import edu.upn.sigeadmi.gen.be.Moneda;


import edu.upn.sigeadmi.cxc.util.JasperReportUtil;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import javax.sql.DataSource;
/**
 *
 * @author Administrador
 */
public class LetraPendientePagoController extends AbstractController  {
   private LetraPendientePago letraPendientePago;
   private CuentaPendientePago cuentPendientePago;
   private Moneda moneda;
   private EstadoLetra estadoLetra;
   private LetraPendientePagoDelegate delegado;


    public CuentaPendientePago getCuentPendientePago() {
        return cuentPendientePago;
    }

    public LetraPendientePagoDelegate getDelegado() {
        return delegado;
    }

    public Moneda getMoneda() {
        return moneda;
    }

    public void setMoneda(Moneda moneda) {
        this.moneda = moneda;
    }

    public EstadoLetra getEstadoLetra() {
        return estadoLetra;
    }

    public LetraPendientePago getLetraPendientePago() {
        return letraPendientePago;
    }

    public void setCuentPendientePago(CuentaPendientePago cuentPendientePago) {
        this.cuentPendientePago = cuentPendientePago;
    }

    public void setDelegado(LetraPendientePagoDelegate delegado) {
        this.delegado = delegado;
    }

    public void setEstadoLetra(EstadoLetra estadoLetra) {
        this.estadoLetra = estadoLetra;
    }

    public void setLetraPendientePago(LetraPendientePago letraPendientePago) {
        this.letraPendientePago = letraPendientePago;
    }



       public LetraPendientePagoController() {
        delegado = new LetraPendientePagoDelegate();
        letraPendientePago = new LetraPendientePago();
        cuentPendientePago = new CuentaPendientePago();
        estadoLetra = new EstadoLetra();
        moneda = new Moneda();

    }
    public String nuevo(){
    letraPendientePago = new LetraPendientePago();
    return "nuevo";
    }
    public String mostrar() {
        return "mostrar";
    }
    public String registrar(){

        try {
              delegado.crear(letraPendientePago);
         return "volver";
        } catch (Exception e) {
        } 
   return "";
    }

    public String volver(){
        letraPendientePago= null;
         cuentPendientePago = null;
        return "letras";
    }
     public String regresar(){
           return "Volver";
    }
    public String editar(){
     return "editar";
         }
    public String edita(){
        try {
            if(letraPendientePago!=null){
            delegado.editar(letraPendientePago);
             return "volver";
            }
        } catch (Exception e) {
        }
        return "";
    }

    public String eliminar(){
        try {
              delegado.eliminar(letraPendientePago);
        } catch (Exception e) {
            e.printStackTrace();
        }
                      
       return "";
    }

 @Resource(name="jdbc/sigeadmi")
    private DataSource ds;
// Daniel Zavaleta
    public String ImprimirReporteLP(){
         try {
             Map parametros = new HashMap();
            // IUController iu = (IUController) getBean("iu");
            // parametros.put("usuario",iu.getLoginUsuario()+"@sigeadmi");
             JasperReportUtil jru = new JasperReportUtil();
             jru.setFileName("Reporte de Letra Pendiente");
             jru.setAttachment(true);
//             jru.exportReport("cxc_letraspendientes", "pdf", ds.getConnection(), parametros);
             jru.exportReport("cxc_letraspendientes", "pdf", ds.getConnection());

         } catch (Exception e) {
          error(e);
         }
         return"";
     }




     
     public LetraPendientePago getLetraPendiente(){
   
        return letraPendientePago;
    }
public List<LetraPendientePago> getLetraPendientes(){
    try {
        return delegado.listar();
    } catch (Exception e) {
        e.printStackTrace();
    }
return null;
}

public List<LetraPendientePago> getFiltrarLetraPendientes(){
    try {
        return delegado.getFiltraLetraPendiente();
    } catch (Exception e) {
        e.printStackTrace();
    }
return null;
}


    private void addErrorMessage(String string) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
}
